package com.zte.market.mapper;

import com.zte.market.pojo.Custom;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * @Auther: 许月
 * @Date: 2022/10/02/10:52
 */
@Mapper
public interface CustomMapper {
    /**
     * 获取所有的客户信息
     * @return List<Custom>
     */
    List<Custom> queryAll();

    /**
     * 通过分配的服务人员查找所有的客户信息
     * @param serviceid
     * @return
     */
    List<Custom> queryAllByServiceId(@Param("serviceid") Integer serviceid);

    /**
     * 添加客户
     * @param custom 客户对象
     * @return 影响行数
     */
    Integer addByCustom(Custom custom);

    /**
     * 根据参数查询数据
     * @param custom 客户对象
     * @param cityIds 城市id列表
     * @param isAllot 是否分配 1分配，0未分配，-1未选择
     * @return
     */
    List<Custom> getByParam(@Param("custom") Custom custom, @Param("cityIds") List<Integer> cityIds,@Param("isAllot") Integer isAllot);

    /**
     * 通过客户id查询客户信息
     * @param customId
     * @return
     */
    Custom getByCustomId(@Param("customId")Integer customId);

    /**
     * 修改 客户的 服务人员 id
     * @param customId 客户id
     * @param serviceid 服务人员id
     * @param distractime 分配时间
     * @return
     */
    Integer updateServiceIdByCustiomId(@Param("customId")Integer customId, @Param("serviceid")Integer serviceid, @Param("distractime")Date distractime);

    /**
     * 修改客户
     * @param custom 客户信息
     * @return
     */
    Integer updateCustom(@Param("custom") Custom custom);

    /**
     * 通过模糊查询 客户姓名 获取对应客户的 CustomId列表
     * @param customname
     * @return
     */
    List<Integer> queryCustomIdListByCustomname(@Param("customname") String customname);

    /**
     * 通过全名查询客户 id
     * @param customname
     * @return
     */
    List<Integer> queryCustomIdListByCustomnameAjax(@Param("customname") String customname);


}
